# -*- coding: utf-8 -*-
"""启动文件"""
from flask_script import Manager
from flask_migrate import Migrate, MigrateCommand

from info import create_app, db, models

app = create_app('development')

if __name__ == '__main__':
    # 初始化manager
    manager = Manager(app)


    @manager.option('-n', '-name', dest="name")
    @manager.option('-p', '-password', dest="password")
    def createsuperuser(name, password):
        """创建管理员账户集成到命令行"""
        if not all([name, password]):
            print("参数不足")
        from info.models import User
        user = User()
        user.nick_name = name
        user.mobile = name
        user.password = password
        user.is_admin = True
        try:
            db.session.add(user)
            db.session.commit()
        except Exception as e:
            db.session.rollback()
            print(e)
        print("添加成功")


    # 初始化migrate,关联app和db
    Migrate(app, db)
    # 将迁移指令加到manager中
    manager.add_command('db', MigrateCommand)
    # print(app.url_map)
    manager.run()
